Many applications and electronic devices require random numbers, including games of chance, such as poker, roulette, and slot machines. In particular, numerous cryptographic algorithms and protocols depend on a non-predictable source of random numbers to implement secure electronic communications and the like. A random number generator should generate every possible permutation in the designated range of numbers. In addition, the random number generator should not be biased and should generate any given number and any sequence of numbers with the same probability as any other number or sequence of numbers. Moreover, the random number generator should generate random numbers that cannot be predicted, irrespective of the size of the collection of previous results. Thus, the random numbers should be completely unpredictable and non-susceptible to outside influences.
U.S. patent application Ser. No. 09/519,549, filed Mar. 6, 2000, entitled “Method and Apparatus for Generating Random Numbers Using Flip-Flop Meta-Stability,” and U.S. patent application Ser. No. 09/912,685, filed Jul. 25, 2001, entitled “Method and Apparatus for Decorrelating a Random Number Generator Using a Pseudo-Random Sequence,” disclose methods and apparatus for generating random numbers using the meta-stable behavior of flip-flops. A flip-flop is clocked with an input that deliberately violates the setup or hold times (or both) of the flip-flop to ensure meta-stable behavior. A bit is collected whenever there is an error.
While meta-stability occurs on a random basis, it has been found that the duration and occurrence of meta-stability may be affected by external noise (in general the behavior of the random element would be controlled by internal noise such as the thermal noise found in semiconductor devices). Thus, external noise may be used to influence the random number generator and thereby compromise the random nature of the generated numbers. A need therefore exists for a method and apparatus for generating random numbers using meta-stability that is not influenced by external noise.